Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao a tutti, sto gestendo l'automazione con word e ho un Document in cui sono presenti numerosi elevamenti a potenza, indicati con ^numero. Per esempio: 4 cm^2, 4 m^3, 6.022 * 10^23 etc... Io vorrei sostituire tutte le occorrenze di "^numero" con "numero" e far sì che tale numero venga mostrato come apice.
Avevo pensato a questo inelegante escamotage (confidando nel fatto che l'utente non inserisse elevamenti con esponente maggiore di 1000 o minore di -1000):
Codice sorgente - presumibilmente VB.NET
For i =-1000 To 1000
If docWord.ActiveWindow.Selection.Text.Contains("^"& i)Then
docWord.ActiveWindow.Selection.Text.Replace("^"& i, i)
EndIf
Next
Dove docWord è un word.document.
I miei dubbi sono questi:
1) impostare superscript a true prima di rimpiazzare fa sì che il carattere sostituto venga scritto in apice?
2) Col debug, noto che docWord.ActiveWindow.Selection.Text è sempre nullo, quindi questo codice non viene mai eseguito...
Dove sbaglio?
Come posso ottenere il risultato che voglio (mi basta anche solo la logica)? Ciò che mi crea più problemi è che l'esponente potrebbe essere di 1 cifra come di 2 o più... Grazie!
docWord.ActiveWindow.Selection.Text è nullo perche credo che il comando si riferisca al testo selezionato .....prova a sottolineare il testo con il cursore del mouse e ripeti il test!
Grazie ad entrambi. Alla fine ho risolto considerando valori compresi nell'intervallo [-99; +99] perché con certezza mi bastavano quelli e anche perché anche cercando in giro non sono riuscito a capire come conciliare le regular expressions (che so usare) con l'automazione word. Magari in futuro mi documenterò meglio. Grazie, ciao